Elasticsearch snapshot备份与恢复(NFS方式)
1、首先需要创建快照库
1 | mkdir /mnt/es_repo |
2、修改 config/elasticsearch.yml ,配置 path.repo 属性
1 | path.repo: /mnt/es_repo |
3、启动 Elasticsearch 服务
4、创建共享文件存储库
1 | curl -X PUT 'http://20.5.2.68:9201/_snapshot/my_backup' \ |
5、创建快照
一个存储库可以包含同一个集群的多个快照。快照由集群内的唯一名称标识。可以通过执行以下命令在存储库 my_backup 中创建名为 snapshot_1 的快照:
1 | curl -X PUT 'http://20.5.2.68:9201/_snapshot/my_backup/snapshot_1?wait_for_completion=true' |
除了快照每个索引的数据之外,快照过程中还可以存储集群元数据,其中包括持久的集群 settings 和 templates 。
6、监控快照进度
wait_for_completion 标记提供了一个监控的基础形式,但当快照的数据量过大时,最好让 wait_for_completion=false,让其在后台进行快照。
我们可以通过 API 来监控快照的进度:
1 | GET http://20.5.2.68:9201/_snapshot/my_backup/snapshot_1 |
快照的状态分为以下几种:
- IN_PROGRESS:快照当前正在运行。
- SUCCESS:快照完成,所有分片存储成功
- PARTIAL:全局集群状态已存储,但至少有一个分片的数据未成功存储。在这种情况下,失败部分应包含有关未正确处理的分片的更多详细信息。
- INCOMPATIBLE:快照是使用旧版本的 elasticsearch 创建的,因此与当前版本的集群不兼容。
- FAILED:快照完成时出现错误并且无法存储任何数据。
如果要获取有关快照的更直接和完整的信息,可以调用如下请求:
1 | GET http://20.5.2.68:9201/_snapshot/my_backup/snapshot_1/_status |
7、查看快照信息
1)查看快照列表信息
1 | curl -X GET 'http://20.5.2.68:9201/_snapshot/my_backup/*' |
2)查看某快照信息
1 | curl -X GET 'http://20.5.2.68:9201/_snapshot/my_backup/snapshot_1' |
==索引快照过程是增量的==。在制作索引快照的过程中,Elasticsearch 会分析存储在存储库中的索引文件列表,并仅复制自上次快照以来创建或更改的文件。
如果某些快照不可用,该命令将失败。布尔参数 ignore_unavailable 可用于返回当前可用的所有快照。
8、快照恢复
默认情况下,快照中的所有索引都会被恢复,集群状态不会被恢复。可以通过在 body 请求中使用 indices 和 include_global_state 参数来选择应该恢复的索引以及允许恢复全局集群状态。
可以在正常运行的集群上执行恢复操作。但是,==现有索引只有在关闭并且与快照中的索引具有相同数量的分片时才能恢复==。恢复操作会在已关闭的情况下自动打开已恢复的索引,如果集群中不存在则创建新的索引。如果使用 include_global_state(默认为 false)恢复集群状态,则添加集群中当前不存在的恢复模板,并使用恢复的模板替换现有的同名模板。恢复的持久设置将添加到现有的持久设置中。
1)关闭索引
1 | http://20.5.2.68:9201/<索引名称>/_close |
2)快照恢复
1 | POST http://20.5.2.68:9201/_snapshot/my_backup/snapshot_1/_restore |
3)快照恢复过程的监控
1 | GET http://20.5.2.68:9201/_recovery?active_only=true |
参考资料:https://blog.csdn.net/likui1314159/article/details/42920413
https://www.elastic.co/guide/en/elasticsearch/reference/5.6/indices-recovery.html
9、删除快照
1 | curl -X DELETE http://20.5.2.68:9201/_snapshot/<快照库>/<快照名> |
删除快照操作可用于取消长时间运行的快照操作,当然,这个快照也被删除了。经过测试,由该快照恢复完成的数据,在快照删除后,并不会发生变化。
从存储库中删除快照时,Elasticsearch 会删除==与已删除快照关联且未被任何其他快照使用的所有文件==。
10、参考资料
更为详细的资料可参考官方文档:
https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules-snapshots.html
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
白嫖不好,创作不易。各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
原文作者: create17
原文链接: https://841809077.github.io/2021/06/30/ELK/Elasticsearch/基础知识/nfs snapshot and restore.html
版权声明: 转载请注明出处(码字不易,请保留作者署名及链接,谢谢配合!)